package cn.kilo.domain.service.user;

import cn.kilo.domain.model.login.vo.LoginVo;
import cn.kilo.domain.model.login.vo.RegisterVO;
import cn.kilo.domain.model.login.vo.UserVO;
import cn.kilo.domain.model.order.entity.OrderEntity;
import cn.kilo.domain.model.order.entity.StaffEntity;
import cn.kilo.domain.model.order.entity.UserEntity;
import cn.kilo.domain.model.order.res.JudgeOfProblemRes;
import cn.kilo.types.model.Response;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

/**
 * @author kilok
 * 登录接口
 */
public interface IUserService {

    Response<?> login(LoginVo loginReq);

    boolean register(RegisterVO registerVO);

    Boolean updateUserInfo(UserVO build);

    String updateUserImage(MultipartFile image,String userId);

    String getUserRole(String userId);

    Boolean beStaff(StaffEntity staffEntity);

    boolean setLocation(UserEntity entity);

    StaffEntity registerToStaff(UserEntity build);

    JudgeOfProblemRes problem(UserEntity build);

    String problemPicture(String judgeId, MultipartFile image) throws IOException;

    boolean setPost(UserEntity build);

    void getAllOrder(OrderEntity build);
}
